在我們繼續深入Spring Boot前,我想先花一點時間介紹Maven。
建構和依賴管理是Spring Boot重要的一環,它之所以能夠自動引入相依套件,主要得益於相依套件的starter以及建構工具的支援,使得依賴管理變得更加簡化。
Spring Boot支援的建構工具是Maven和Gradle,由於工作習慣的緣故,這次主要介紹的建構工具會是Maven。
Maven是一個跨平台的專案管理工具,主要基於Java的專案建構、相依性管理。pom(Project Object Model, 專案物件模型)是Maven專案的核心,它是一個XML檔案。在pom.xml內,我們可以定義專案的基本資訊(專案版本、開發者列表)、依賴套件、外掛程式等。
pom.xml的文件結構是透過XML Schema來定義的,範例如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo-project</artifactId>
<version>1.0.0</version>
</project>
<project>
元素是整個pom.xml的根元素,用來表示一個Maven專案的結構,裡面也包含了所有和專案相關的配置資訊。<modelVersion>
元素定義pom的版本,通常是4.0.0<groupId>
元素定義了這個專案所屬的群組<artifactId>
元素定義的是專案的名稱,一個groupId下可能包含了多個專案,就是透過artifactId進行區分的<version>
元素定義了專案的版本編號,隨著專案的持續開發、更新,專案的版本也會不斷被更新
明天再來好好介紹相依套件的設定